package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Zhuanjia;
import com.ruoyi.system.domain.ZhuanjiaCustom;

/**
 * 专家信息Service接口
 * 
 * @author ruoyi
 * @date 2022-12-06
 */
public interface IZhuanjiaService 
{
    /**
     * 查询专家信息
     * 
     * @param zhuanjiaid 专家信息主键
     * @return 专家信息
     */
    public Zhuanjia selectZhuanjiaByZhuanjiaid(String zhuanjiaid);

    /**
     * 查询专家信息列表
     * 
     * @param zhuanjia 专家信息
     * @return 专家信息集合
     */
    public List<Zhuanjia> selectZhuanjiaList(Zhuanjia zhuanjia);

    /**
     * 新增专家信息
     * 
     * @param zhuanjia 专家信息
     * @return 结果
     */
    public int insertZhuanjia(Zhuanjia zhuanjia);

    /**
     * 修改专家信息
     * 
     * @param zhuanjia 专家信息
     * @return 结果
     */
    public int updateZhuanjia(Zhuanjia zhuanjia);

    /**
     * 批量删除专家信息
     * 
     * @param zhuanjiaids 需要删除的专家信息主键集合
     * @return 结果
     */
    public int deleteZhuanjiaByZhuanjiaids(String zhuanjiaids);

    /**
     * 删除专家信息信息
     * 
     * @param zhuanjiaid 专家信息主键
     * @return 结果
     */
    public int deleteZhuanjiaByZhuanjiaid(String zhuanjiaid);


    /**
     * 查询专家信息列表custom
     *
     * @param zhuanjia 专家信息
     * @return map
     */
    public List<Map<String,Object>> selectZhuanjiaListCustom(ZhuanjiaCustom zhuanjia);

    public int countZhuanjiaListCustom(ZhuanjiaCustom zhuanjia);

    /**
     * 专家管理查询统计列表
     */
    public List<Map<String,Object>> chaxuntongjilist(String deptid,
                                                     String zhuanjia,
                                                     String danwei,
                                                     String danweileixing,
                                                     String cengji,
                                                     String gongzuodanwei,
                                                     String guoji,
                                                     String zhengjianleixing,
                                                     String zhengjianhaoma,
                                                     String ruxuannianfen,
                                                     String zhuanjiazhuangtai,
                                                     String zhuanjiazhuangtaibiandongshijian,
                                                     int pageindex, int pagesize);
    public int chaxuntongjilistCount(String deptid,
                                                     String zhuanjia,
                                                     String danwei,
                                                     String danweileixing,
                                                     String cengji,
                                                    String gongzuodanwei,
                                                     String guoji,
                                                     String zhengjianleixing,
                                                     String zhengjianhaoma,
                                                     String ruxuannianfen,
                                                     String zhuanjiazhuangtai,
                                                     String zhuanjiazhuangtaibiandongshijian);
    /**
     * 专家管理查询统计列表 单位普通管理员
     */
    public List<Map<String,Object>> chaxuntongjilistCommon(String deptid,
                                                     String zhuanjia,
                                                     String danwei,
                                                     String danweileixing,
                                                     String cengji,
                                                   String gongzuodanwei,
                                                     String guoji,
                                                     String zhengjianleixing,
                                                     String zhengjianhaoma,
                                                     String ruxuannianfen,
                                                     String zhuanjiazhuangtai,
                                                     String zhuanjiazhuangtaibiandongshijian,
                                                     int pageindex, int pagesize);
    public int chaxuntongjilistCommonCount(String deptid,
                                                           String zhuanjia,
                                                           String danwei,
                                                           String danweileixing,
                                                           String cengji,
                                                            String gongzuodanwei,
                                                           String guoji,
                                                           String zhengjianleixing,
                                                           String zhengjianhaoma,
                                                           String ruxuannianfen,
                                                           String zhuanjiazhuangtai,
                                                           String zhuanjiazhuangtaibiandongshijian);

    public boolean hezeng(Zhuanjia ppZhuanjia,String ppDeptId);

    Map<String, Integer> Countchaxuntongji(String deptid);
    Map<String, Integer> Countchaxuntongjicommon(String deptid);
}
